The ubiquity of mobile electronic devices and mobile applications allows people to access a wide variety of digital data and online services such as shopping, gaming, and navigation. Location detection is useful in mobile applications that require knowledge of a user's position or whether a user is entering or exiting a particular geographic area. For example, in location-based marketing, it is desirable for merchants to know when the user of a mobile device is in or near a retail store. In such a case, the merchant may wish, for example, to send the user a message with a coupon inviting them to come into the store. As another example, mapping and navigation applications frequently utilize real-time estimations of the mobile device's position. Accordingly, accurate and precise location detection is important for many aspects of mobile device operation.
Several methodologies have been developed to determine the position of a mobile communications device. For example, the position of a device may be determined based on triangulation of nearby cell towers and based on properties of the connection the device has with each of these towers. However, such methods may yield inaccurate results under certain circumstances such as, for example, when there is insufficient cell tower density to provide precise resolution (e.g., meter-level resolution) of the device's position. Wi-Fi triangulation may also be utilized to determine the position of a mobile communications device. This approach is analogous to cell tower triangulation, but uses Wi-Fi hot spots near the device to determine its position. However, the applicability of this technique may be limited when, for example, the set of known Wi-Fi hot spots in a region is not sufficiently large, or when the user does not have access to the Wi-Fi network because the Wi-Fi radio is off, or when the user has not authenticated with the Wi-Fi network. The Global Positioning System (GPS) may also be used to determine the position of a mobile communications device. GPS involves a constellation of satellites that broadcast data, allowing the device to determine its location using a triangulation calculation. However, GPS methodologies may have certain drawbacks. For example, GPS signals may not be sufficiently strong, or may have multipath issues, in certain locations. Furthermore, receiving and processing GPS position updates on an ongoing basis is typically battery intensive for mobile communications devices. Accordingly, mobile devices may process position data from different types of location providers.